﻿//using System.Drawing;
//using System.Drawing.Drawing2D;
//using System.Drawing.Imaging;
//using Image = System.Drawing.Image;
//using Rectangle = iTextSharp.text.Rectangle;

//namespace apitest.Application.Test.Services
//{
//    [DynamicApiController]
//    public class PDFTestService
//    {
//        ISqlSugarClient _db;
//        public PDFTestService(ISqlSugarClient db)
//        {
//            _db = db;
//        }
//        public async Task T1()
//        {
//            string filePath = "./temp/123.pdf";
//            PdfReader reader = new PdfReader(filePath);
//            int numberOfPages = reader.NumberOfPages;

//            for (int pageNumber = 1; pageNumber <= numberOfPages; pageNumber++)
//            {
//                Rectangle pageSize = reader.GetPageSizeWithRotation(pageNumber);

//                // 页面大小  
//                float width = pageSize.Width;
//                float height = pageSize.Height;
//                Console.WriteLine($"Page {pageNumber} Size: Width = {width}, Height = {height}");

//                // 页面方向（基于宽度和高度判断，简单逻辑）  
//                string orientation;
//                if (width > height)
//                {
//                    orientation = "Landscape";
//                }
//                else
//                {
//                    orientation = "Portrait";
//                }
//                Console.WriteLine($"Page {pageNumber} Orientation: {orientation}");

//                // 页面旋转角度  
//                int rotation = reader.GetPageRotation(pageNumber);
//                Console.WriteLine($"Page {pageNumber} Rotation: {rotation} degrees");
//            }

//            reader.Close();

//        }

//        public string T2()
//        {
//            string pdfFilePath = "./temp/123.pdf";

//            // 读取PDF文件
//            string pdfContent = ReadPdfFile(pdfFilePath);
//            return pdfContent;
//        }
//        string ReadPdfFile(string pdfFilePath)
//        {

//            // 创建一个MemoryStream对象，用于存储PDF文件的内容
//            using (MemoryStream ms = new MemoryStream())
//            {
//                // 读取PDF文件并将其内容写入MemoryStream
//                using (PdfReader reader = new PdfReader(pdfFilePath))
//                {
//                    byte[] byteArray = reader.GetPageContent(5);
//                    Console.WriteLine(System.Text.Encoding.UTF8.GetString(byteArray));
//                    ms.Write(reader.GetPageContent(5), 0, reader.GetPageContent(5).Length);

//                    return PdfTextExtractor.GetTextFromPage(reader, 5);

//                    //for (int i = 1; i <= reader.NumberOfPages; i++)
//                    //{
//                    //    ms.Write(reader.GetPageContent(i), 0, reader.GetPageContent(i).Length);
//                    //    Console.WriteLine($"{i}-------{reader.GetPageContent(i).Length}");
//                    //    byte[] byteArray = reader.GetPageContent(i);
//                    //    Console.WriteLine(System.Text.Encoding.Default.GetString(byteArray));
//                    //}
//                }

//                // 将MemoryStream转换为字符串
//                return Convert.ToBase64String(ms.ToArray());
//                return ms.ToArray().ToString();
//            }
//        }

//        public async Task<dynamic> PdfToImage()
//        {
//            var pdf = new Spire.Pdf.PdfDocument();
//            pdf.LoadFromFile("./temp/1234.pdf");
//            Stream st = pdf.SaveAsImage(2 );
//            Image img = Bitmap.FromStream(st);
//            img.Save("133333.png", System.Drawing.Imaging.ImageFormat.Png);
//            return "";
//            //var pdf = PdfiumViewer.PdfDocument.Load(strpdfPath);
//            //var pdfpage = pdf.PageCount;
//            //var pagesizes = pdf.PageSizes;
//        }

//        public static Bitmap CombinImage(Image imgBack, Image img, int xDeviation = 0, int yDeviation = 0)
//        {
//            Bitmap bmp = new Bitmap(imgBack.Width, imgBack.Height);
//            Graphics g = Graphics.FromImage(bmp);

//            g.DrawImage(imgBack, 0, 0, imgBack.Width, imgBack.Height);
//            //白色边框
//            // g.FillRectangle(System.Drawing.Brushes.White, imgBack.Width / 2 - img.Width / 2 + xDeviation - 1, imgBack.Height / 2 - img.Height / 2 + yDeviation - 1, img.Width + 2, img.Height + 2);
//            //填充图片

//            //设置高质量插值法
//            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
//            //设置高质量,低速度呈现平滑程度
//            g.SmoothingMode = SmoothingMode.HighQuality;
//            g.CompositingQuality = CompositingQuality.HighQuality;

//            g.Clear(System.Drawing.Color.Transparent);

//            //防止出现渐变
//            var imgAtt = new ImageAttributes();
//            imgAtt.SetWrapMode(WrapMode.TileFlipXY);

//            var x = imgBack.Width / 2 - img.Width / 2 + xDeviation;
//            var y = imgBack.Height / 2 - img.Height / 2 + yDeviation;
//            var width = img.Width;
//            var height = img.Height;
//            // g.DrawImage(img, imgBack.Width / 2 - img.Width / 2 + xDeviation, imgBack.Height / 2 - img.Height / 2 + yDeviation,img.Width , img.Height);
//            g.DrawImage(img, new System.Drawing.Rectangle(0, 0, width, height), x, y, width, height, GraphicsUnit.Pixel, imgAtt);

//            GC.Collect();
//            return bmp;
//        }

//        [HttpGet,QueryParameters]
//        public async Task<dynamic> PdfView(string name)
//        {
//            throw new Exception("afds");
//            //var bytes = File.ReadAllBytes("./temp/1234.pdf");
//            var ms=File.OpenRead("./temp/1234.pdf");
//            return new FileStreamResult(ms, "application/octet-stream")
//            {
//                FileDownloadName = "aaa.pdf"
//            };
           
//        }
//    }
//}
